package main

//
//import (
//	"log"
//	"time"
//)
//
//const (
//	initialInterval = 10 * time.Second
//	minInterval     = 2 * time.Second
//	maxInterval     = 24 * time.Hour
//	resetInterval   = 10 * time.Second
//	backoffFactor   = 0.5
//	successFactor   = 2.0
//)
//
//// MessInitReg01 是模拟的消息注册函数
//func MessInitReg01() bool {
//	// 这里模拟注册成功或失败的情况
//	// 实际使用时替换为真实的注册逻辑
//	return false // 模拟初始注册失败
//}
//
//// startRegistrationChecker 启动注册检查器
//func startRegistrationChecker() {
//	var currentInterval time.Duration = initialInterval
//	ticker := time.NewTicker(currentInterval)
//	defer ticker.Stop()
//
//	for range ticker.C {
//		registered := MessInitReg01()
//
//		if registered {
//			// 注册成功，延长检查间隔
//			newInterval := time.Duration(float64(currentInterval) * successFactor)
//			if newInterval > maxInterval {
//				// 超过一天则重置为初始间隔
//				currentInterval = resetInterval
//				log.Printf("Registration success, reset interval to %v", currentInterval)
//			} else {
//				currentInterval = newInterval
//				log.Printf("Registration success, increase interval to %v", currentInterval)
//			}
//		} else {
//			// 注册失败，缩短检查间隔
//			newInterval := time.Duration(float64(currentInterval) * backoffFactor)
//			if newInterval < minInterval {
//				// 不低于最小间隔
//				currentInterval = minInterval
//				log.Printf("Registration failed, set interval to minimum %v", currentInterval)
//			} else {
//				currentInterval = newInterval
//				log.Printf("Registration failed, decrease interval to %v", currentInterval)
//			}
//		}
//
//		// 重置ticker
//		ticker.Reset(currentInterval)
//	}
//}
//
//func main() {
//	log.Println("Starting message registration checker...")
//	startRegistrationChecker()
//}
